layui.use('element', function(){
    var element = layui.element;

    //一些事件监听
    element.on('tab(demo)', function(data){
        console.log(data);
    });
});

//注意：导航 依赖 element 模块，否则无法进行功能性操作
layui.use('element', function () {
    var element = layui.element;

    //…
});

$(document).ready(function () {
    dropdownOpen();//调用
});
/**
 * 鼠标划过就展开子菜单，免得需要点击才能展开
 */
function dropdownOpen() {

    var $dropdownLi = $('li.dropdown');

    $dropdownLi.mouseover(function () {
        $(this).addClass('open');
    }).mouseout(function () {
        $(this).removeClass('open');
    });
}

layui.use('laydate', function(){
    var laydate = layui.laydate;
    //控制预约服务的时间,当前时间起1个小时后至服务结束
    var myDate = new Date();
    myDate.setHours (myDate.getHours () + 1);
    var minTime = myDate.toLocaleString();
    var maxTime = $("#endTime").text();
    //年月范围
    laydate.render({
        elem: '#test8'
        ,type: 'month'
        ,range: '~'
        ,min: minTime
        ,max: maxTime
        ,done: function(value, beginDate, endDate){//控件选择完毕后的回调---点击日期、清空、现在、确定均会触发。
            // console.log(value); //得到日期生成的值，如：2017-08-18
            // console.log(beginDate);
            // console.log(endDate); //得结束的日期时间对象，开启范围选择（range: true）才会返回。对象成员同上。
            if(!value){
                return;
            }
            var servicesPrice = $("#hdm").text();
            var chargetype = $("#ctype").text();
            var text = '';
            $.ajax({
                //提交数据的类型 POST GET
                type: "POST",
                //提交的网址
                url: "/services/getPrice",
                //提交的数据
                data: {value: value,price:servicesPrice,chargetype:chargetype},
                dataType: 'json',
                //参数格式为json
                //contentType: "application/json; charset=utf-8",
                //返回数据的格式
                //datatype: "json",//"xml", "html", "script", "json", "jsonp", "text".
                //成功返回之后调用的函数
                success: function (req) {
                    text += req.data;
                    $("#sum").html(text)
                },
                //调用出错执行的函数
                error: function () {
                    //请求出错处理
                    alert("请求失败");
                }
            })
        }
    });
    //日期范围
    laydate.render({
        elem: '#test6'
        ,range: '~'
        ,min: minTime
        ,max: maxTime
        ,done: function(value, beginDate, endDate){//控件选择完毕后的回调---点击日期、清空、现在、确定均会触发。
            // console.log(value); //得到日期生成的值，如：2017-08-18
            // console.log(beginDate);
            // console.log(endDate); //得结束的日期时间对象，开启范围选择（range: true）才会返回。对象成员同上。
            if(!value){
                return;
            }
            var servicesPrice = $("#hdm").text();
            var chargetype = $("#ctype").text();
            var text = '';
            $.ajax({
                //提交数据的类型 POST GET
                type: "POST",
                //提交的网址
                url: "/services/getPrice",
                //提交的数据
                data: {value: value,price:servicesPrice,chargetype:chargetype},
                dataType: 'json',
                //参数格式为json
                //contentType: "application/json; charset=utf-8",
                //返回数据的格式
                //datatype: "json",//"xml", "html", "script", "json", "jsonp", "text".
                //成功返回之后调用的函数
                success: function (req) {
                    text += req.data;
                    $("#sum").html(text)
                },
                //调用出错执行的函数
                error: function () {
                    //请求出错处理
                    alert("请求失败");
                }
            })
        }
    });

    //日期时间范围
    laydate.render({
        elem: '#test10'
        ,type: 'datetime'
        ,range: '~'
        ,format: 'yyyy-MM-dd HH'
        ,min: minTime
        ,max: maxTime
        ,done: function(value, beginDate, endDate){//控件选择完毕后的回调---点击日期、清空、现在、确定均会触发。
            // console.log(value); //得到日期生成的值，如：2017-08-18
            // console.log(beginDate);
            // console.log(endDate); //得结束的日期时间对象，开启范围选择（range: true）才会返回。对象成员同上。
            if(!value){
                return;
            }
            var servicesPrice = $("#hdm").text();
            var chargetype = $("#ctype").text();
            var text = '';
            $.ajax({
                //提交数据的类型 POST GET
                type: "POST",
                //提交的网址
                url: "/services/getPrice",
                //提交的数据
                data: {value: value,price:servicesPrice,chargetype:chargetype},
                dataType: 'json',
                //参数格式为json
                //contentType: "application/json; charset=utf-8",
                //返回数据的格式
                //datatype: "json",//"xml", "html", "script", "json", "jsonp", "text".
                //成功返回之后调用的函数
                success: function (req) {
                    text += req.data;
                    $("#sum").html(text)
                },
                //调用出错执行的函数
                error: function () {
                    //请求出错处理
                    alert("请求失败");
                }
            })
        }
    });
});

layui.use('laypage', function () {
    var laypage = layui.laypage;

    //执行一个laypage实例
    laypage.render({
        elem: 'test1' //注意，这里的 test1 是 ID，不用加 # 号
        , count: 50 //数据总数，从服务端得到
    });
});

// 预约
$(function (){
    //隐藏警告信息
    $(".alert-warning").hide();
    if($("#userinfoId").text() == null){
        alert("请先登录");
    }

    $("#book").click(function(){
        $.ajax({
            //提交数据的类型 POST GET
            type:"POST",
            //提交的网址
            url:"/services/book",
            //提交的数据
            data: JSON.stringify(GetJsonData()),
            //参数格式为json
            contentType: "application/json; charset=utf-8",
            //返回数据的格式
            datatype: "json",//"xml", "html", "script", "json", "jsonp", "text".
            //成功返回之后调用的函数
            success:function(){
                window.location="/demand/reserved"
            },
            //调用出错执行的函数
            error: function(){
                //请求出错处理
                console.log(JSON.stringify(GetJsonData()));
                alert("请求失败");
            }

        });

    });

    //json格式的数据源
    function GetJsonData() {
        var userinfoId = $("#userinfoId").text();
        var servicesId = $("#servicesId").text();
        var phone = $("#phone").val();
        var intro = $("#intro").val();
        var hdm = $("#ctype").text();
        var time;
        if(hdm == 1){
            time = $("#test8").val();
            var times = time.split(" ~ ");
            var beginTime = times[0]+ '-01 00:00:00';
            var endTime = times[1]+ '-01 00:00:00';
        }else if(hdm == 2){
            time = $("#test6").val();
        }else if(hdm == 3){
            time = $("#test10").val();
            var times = time.split(" ~ ");
            var beginTime = times[0]+ ' 00:00:00';
            var endTime = times[1]+ ' 00:00:00';
            var times = time.split(" ~ ");
            var beginTime = times[0]+ ':00:00';
            var endTime = times[1]+ ':00:00';
        }
        var bookTime = new Date();
        var sum = $("#sum").text();
        var json = {
            "userinfoId": userinfoId,
            "servicesId": servicesId,
            "phone": phone,
            "intro": intro,
            "bookTime": bookTime,
            "beginTime": beginTime,
            "endTime": endTime,
            "price": sum
        };
        return json;
    }
    
});
//格式化日期
// Date.prototype.Format = function (fmt) { //author: meizz
//     var o = {
//         "M+": this.getMonth() + 1, //月份
//         "d+": this.getDate(), //日
//         "h+": this.getHours(), //小时
//         "m+": this.getMinutes(), //分
//         "s+": this.getSeconds(), //秒
//         "q+": Math.floor((this.getMonth() + 3) / 3),  //季度
//         "S": this.getMilliseconds() //毫秒
//     };
//     if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
//     for (var k in o)
//         if (new RegExp("(" + k + ")").test(fmt))
//             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
//     return fmt;
// }
